Ext.ns('Tm.bill');
Tm.task.TaskBillDetailAddPanel = Ext.extend(Ext.Panel, {
			id : 'taskBillDetailAddPanel',
			frame : true,
		    autoHeight:true,
		    autoWidth:true,
			dataId : null,
			layout : 'fit',
			billStatus:'NEW',//default value is NEW
			initComponent : function() {
				var form = new Tm.common.FormPanel({
							// standardSubmit : true,
					labelWidth : 100,
					defaults : {
						xtype : 'textfield',
						margins : '0 5 0 0',
						width : 300
					},
							ref : "form",
							errorReader : new Tm.common.DataReader(),
							items : [{
										name : 'id',
										hidden : true
									},  {
										fieldLabel : '所属账单',
										xtype : 'commoncombobox',
										name : 'billId',
										hiddenName : 'billId',
										valueField : 'id',
										displayField : 'code',
										forceSelection : true,
										triggerAction : 'all',
										emptyText : '请选择...',
										selectOnFocus : true,
										allowBlank : false,
										mode : 'remote',
										store : new Ext.data.JsonStore({// /列表框中的选项数据
											url : 'bill/queryBlBillByTaskId.do',
											// autoLoad : true,
											fields : [{
														name : 'id'
													}, {
														name : 'code'
													}, {
														name : 'status'
													}],
											baseParams : {
												taskId :  Ext.getCmp("taskBillDetailAddPanel").taskId
											}
										}),
										listeners : {
											change  :function( combo,   newValue,  oldValue ){
												var store=combo.getStore();
//												var records=store.getRange(0,store.getTotalCount());
//												console.dir(records);
												if(newValue){
													var record=store.getById(newValue); 
													if(record.data.status!='NEW'){
														App.setAlert('notice', '只有[草稿]状态的账单可以增加账单明细!');
														combo.setValue(oldValue);
													}
												}

											}
										}
										
									},   {
										fieldLabel : '金额',
										xtype : 'numberfield',
										name : 'amount',
										allowDecimals:true,                //允许输入小数  
							            nanText:'请输入有效小数', 
						                allowNegative:false ,
										allowBlank : false
									} , {
										name : 'description',
										fieldLabel : '描述',
										xtype : 'textarea'
									}]
						});

				var toolBar = new Ext.Toolbar({
							hideBorders : true,
							buttons : [{
										id:'saveButton',
										text : '保存',
										iconCls : 'act_acceptIcon',
										handler : function() {
											if (form.getForm().isValid()) {
												form.getForm().submit({
													waitMsg : '正在提交,请稍候...',
													url : 'bill/saveOrUpdateBlBillDetail.do',
													method : 'post',
													success : function(form, action) {
														var taskBillAddPanel = Ext.getCmp('taskBillDetailAddPanel');
														var data = Ext.decode(action.response.responseText);
														taskBillAddPanel.init(data);
														App.setAlert('ok', '操作成功');
													},
													failure : function(form, action) {
														App.setAlert('error', '操作失败');
													}
												});
											}
										}
									}, {
										xtype : 'tbseparator'
									}, {
										id:'resetButton',
										text : '重置',
										iconCls : 'act_resetIcon',
										handler : function() {
											form.getForm().reset();
										}
									} ]
						});

				Ext.apply(this, {
							tbar : toolBar,
							items : [form]
						});

				Tm.task.TaskBillDetailAddPanel.superclass.initComponent.call(this);
			},

			loadData : function() {
				var dataId = this.dataId;
 				if (dataId) {
					Ext.Ajax.request({
						url : 'bill/loadBlBillDetail.do',
						params : {
							id : dataId
						},
						success : function(response, action) {
							var data = Ext.decode(response.responseText);
							// console.dir(this);
							var taskBillDetailAddPanel = Ext.getCmp('taskBillDetailAddPanel');
							taskBillDetailAddPanel.init(data);
	
						},
						failure : function(response, action) {
							App.setAlert('error', '载入失败');
						}

					});
				}
			},
			init : function(data) {
				var taskBillDetailAddPanel = Ext.getCmp('taskBillDetailAddPanel');
				var billStatus=taskBillDetailAddPanel.billStatus;
				var form = taskBillDetailAddPanel.form;
				form.getForm().findField("id").setValue(data.id);
				form.getForm().findField("billId").setValue(data.billId);
				form.getForm().findField("amount").setValue(data.amount);
				form.getForm().findField("description").setValue(data.description);
				if(billStatus!='NEW'){
 					form.getForm().items.items.forEach(function(item, index, array){
 						item.setReadOnly(true);
					});
 					taskBillDetailAddPanel.topToolbar.findById('saveButton').setDisabled(true);	 
 					taskBillDetailAddPanel.topToolbar.findById('resetButton').setDisabled(true);
 				}


			},
			listeners : {
				"render" : function() {
					this.loadData();
				}
			}
		});
